package com.unbook.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.unbook.entity.Book;
import com.unbook.entity.ResponseVo;
import com.unbook.entity.params.BookInsBody;
import com.unbook.entity.params.BookListByUIdParam;
import com.unbook.entity.params.BookUpdateBody;
import org.springframework.transaction.annotation.Transactional;

import javax.validation.constraints.Null;
import java.util.List;

public interface IBookService extends IService<Book> {
    /**
     * 查询书籍列表
     * @param pageNum 页码
     * @param pageSize 分页大小
     * @param linkName 书籍名称关键字
     * @return 分页数据结果
     */
    IPage<Book> select(Integer pageNum, Integer pageSize, String linkName);
    @Transactional
    Book insert(BookInsBody body,String token);
    boolean delete(List<Integer> bIds);
    boolean update(BookUpdateBody body);
    // 设置用户状态
    boolean setStatus(Integer bId,Integer status);
    // 书籍浏览
    boolean viewBook(Integer bId);
    // 切换封面
    boolean updateCover(Integer bId,String cover);
    IPage<Book> selectByUId(BookListByUIdParam param);
    Book getById(Integer bid);
}
